package com.example.lt.service;

import jakarta.servlet.http.HttpServletRequest;
import org.springframework.core.io.Resource;
import org.springframework.http.ResponseEntity;
import org.springframework.web.multipart.MultipartFile;

/**
 * @Author 小涛Tao
 * @Date: 2024/06/03/13:57
 * version 1.0 注释：
 **/
public interface MinioService {

    /**
     * 获取头像
     * @param imgPath
     * @param fileName
     * @return
     * @throws Exception
     */
    ResponseEntity<byte[]> getImage(String imgPath, String fileName) throws Exception;

    /**
     * 更新minio中的文件
     * @param filePath 文件的路径
     * @param fileName 文件的名称
     * @param file
     */
    String uploadFile(String filePath, String fileName, MultipartFile file);

    /**
     * 删除文件
     * @param filePath 文件路径
     * @param fileName 文件名称
     */
    String deleteFile(String filePath, String fileName);

    /**
     * 获取minio中的音频
     * @param fileName
     * @return
     */
    ResponseEntity<byte[]> getMusic(String filePath, String fileName);

    /**
     * 下载minio中的音频文件
     * @param filePath 音频文件的路径
     * @param fileName 音频文件的名称
     * @param request
     * @return
     */
    ResponseEntity<Resource> downloadFile(String filePath, String fileName, HttpServletRequest request);

}
